// 在此处使用Promise对wx.request进行二次封装
// 1. 引入接口地址
import config from './config'
import {
  showToast
} from './tips'
// 2.  使用Promise进行二次封装
// 直接写三个参数是不灵活的
// export default function (url,method,data){

// }

export default function ({
  url,
  method = 'GET',
  data = {}
}) {
  return new Promise((resolve, reject) => {
    wx.showLoading({
      title: '加载中...',
    })
    const token = wx.getStorageSync('token')
    const header = {
      'content-type': 'application/json' // 默认值
    }
    // if(token){
    //   header.token = token
    // }
    token && (header.token = token)
    wx.request({
      url: config.baseUrl + url,
      method,
      data,
      header,
      success(res) {
        // console.log('ress', res)
        wx.hideLoading()
        if (res.data.code === 200) {
          resolve(res.data)
        } else {
          reject(res.data.data)
        }

      },
      fail(err) {
        wx.hideLoading()
        showToast('请求失败')
        reject(err)
      }
    })
  })
}

// url method data
// request({})